﻿using AppForm_Managers.Object_Entities;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace AppForm_Managers.Views
{
    public partial class LoginForm : Form
    {
        public LoginForm()
        {
            InitializeComponent();
        }

        private void LoginButton_Click(object sender, EventArgs e)
        {
            if (UserText.Text.Trim().Length == 0)
            {
                ErrorProvider.SetError(UserText, "Tài khoản không được để trống.", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Warning);
                UserText.Focus();
                return;
            }
            ErrorProvider.Dispose();
            if (PassText.Text.Trim().Length == 0)
            {
                ErrorProvider.SetError(PassText, "Mật khẩu không được để trống.", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Warning);
                PassText.Focus();
                return;
            }
            ErrorProvider.Dispose();


            string username = UserText.Text.Trim();
            String password = PassText.Text.Trim();
            string passwordMD5 = UltisCode.ChangeMD5(password);
            using (ManagerEmployeesEntities db = new ManagerEmployeesEntities())
            {
                try
                {
                    Adminstrastion admin = db.Adminstrastions.Single(p => p.Username == username);
                    if (admin.Password.Equals(passwordMD5))
                    {
                        //this.Dispose();
                        //this.Close();
                        this.Visible = false;
                        new Main_App().Visible = true;
                    }
                    else
                    {
                        MsgLable.Visible = true;
                        MsgLable.ForeColor = Color.FromArgb(0xFC, 0x95, 0x95);
                        MsgLable.Text = "Tài khoản hoặc mật khẩu không đúng.";
                    }
                }
                catch (Exception)
                {
                    MsgLable.Visible = true;
                    MsgLable.ForeColor = Color.FromArgb(0xFC, 0x95, 0x95);
                    MsgLable.Text = "Tài khoản hoặc mật khẩu không đúng.";
                }
            }
        }

        private void AboutButton_Click(object sender, EventArgs e)
        {
            DialogResult show = MessageBox.Show("Chức năng chưa hoàn thành. Bạn có muốn đóng ứng dụng?", "Chức năng chưa hoàn thành", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (show == System.Windows.Forms.DialogResult.Yes)
            {
                this.Dispose();
                this.Close();
            }
        }

        private void ConfigButton_Click(object sender, EventArgs e)
        {
            DialogResult show = MessageBox.Show("Chức năng chưa hoàn thành. Bạn có muốn đóng ứng dụng?", "Chức năng chưa hoàn thành", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (show == System.Windows.Forms.DialogResult.Yes)
            {
                this.Dispose();
                this.Close();
            }
        }

        private void CancelsButton_Click(object sender, EventArgs e)
        {
            DialogResult show = MessageBox.Show("Bạn có muốn đóng ứng dụng?", "Đóng ứng dụng", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (show == System.Windows.Forms.DialogResult.Yes)
            {
                this.Dispose();
                this.Close();
            }
        }

        private void HelpsButton_Click(object sender, EventArgs e)
        {
            DialogResult show = MessageBox.Show("Chức năng chưa hoàn thành. Bạn có muốn đóng ứng dụng?", "Chức năng chưa hoàn thành", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (show == System.Windows.Forms.DialogResult.Yes)
            {
                this.Dispose();
                this.Close();
            }
        }
    }
}
